From 67f9d0b95ae2cd441bc003e03ae69a487f7b40bb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Roger=20Pau=20Monn=C3=A9?= Date: Wed, 5 Feb 2020 13:50:46 +0100 Subject: [PATCH] x86/vvmx: don't enable interrupt window when using virt intr delivery MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit If virtual interrupt delivery is used to inject the interrupt to the guest the interrupt window shouldn't be enabled, as the interrupt is already injected using the GUEST_INTR_STATUS vmcs field. Reported-by: Kevin Tian Signed-off-by: Roger Pau Monné Reviewed-by: Kevin Tian --- xen/arch/x86/hvm/vmx/intr.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xen/arch/x86/hvm/vmx/intr.c b/xen/arch/x86/hvm/vmx/intr.c index 2eaf3f8d36..49a1295f09 100644 --- a/xen/arch/x86/hvm/vmx/intr.c +++ b/xen/arch/x86/hvm/vmx/intr.c @@ -209,7 +209,7 @@ static int nvmx_intr_intercept(struct vcpu *v, struct hvm_intack intack) if ( unlikely(intack.source != hvm_intsrc_none) ) vmx_enable_intr_window(v, intack); } - else + else if ( !cpu_has_vmx_virtual_intr_delivery ) vmx_enable_intr_window(v, intack); return 1; -- 2.30.2